package fr.auzaiphe.admin.view;

import javax.swing.JTable;

import fr.auzaiphe.admin.controller.AdminController;
import fr.auzaiphe.admin.model.Indice;

/**
 * Sélection des indices
 * @author Anthony REY
 * @see fr.auzaiphe.admin.view.SelectionTableResultat
 * @since 10/05/2012
 */
public class SelectionIndice extends SelectionTableResultat
{

	private int id, dureePartie;


	/**
	 * Rappel du constructeur de la méthode mère
	 * @param pTable
	 * @param pController
	 * @param pDureePartie
	 * @see fr.auzaiphe.admin.view.SelectionTableResultat#controller
	 */
	public SelectionIndice(JTable pTable, AdminController pController, String pDureePartie )
	{
		super(pTable, pController);
		String[] temps = pDureePartie.split(":");
		this.dureePartie = Integer.parseInt( temps[0] ) * 60 + Integer.parseInt( temps[1] );
	}

	/**
	 * Récupération des indices
	 */
	@Override
	protected void recuperation()
	{
		this.id = Integer.parseInt(this.getTable().getValueAt(this.getSelectedRow(), 2).toString());
		Indice indiceModifie = this.getController().getIndice(this.id);

		if (indiceModifie != null)
		{
			AjoutIndiceFrame fenetreIndice = new AjoutIndiceFrame
			(
				this.getController(),
				SelectionIndice.this.getController().getTempsChrono() / 60,
				SelectionIndice.this.getController().getJoueurs(),
				indiceModifie.getId(),
				indiceModifie.getJoueursVisibles(),
				indiceModifie.getJoueursLies(),
				indiceModifie.getTitle(),
				indiceModifie.getContenu().getTexte(),
				indiceModifie.getContenu().getLienFichier(),
				indiceModifie.getDebutVie(),
				indiceModifie.getFinVie()
			);
 			fenetreIndice.setVisible( true );
		}
        else
        {
        	System.out.println("L'indice que vous tentez de modifier n'existe pas.");
        }
	}

	@Override
	protected void suppression()
	{
		this.id = Integer.parseInt(this.getTable().getValueAt(this.getSelectedRow(), 2).toString());
		Indice indiceSupprime = this.getController().getIndice(this.id);

		if ( indiceSupprime != null)
		{
			this.controller.supprimerIndice( indiceSupprime );
		}
        else
        {
        	System.out.println("L'indice que vous tentez de supprimer n'existe pas.");
        }
	}

}
